package pet_pavilion.yushouge.ams.service;

import cn.tedu.yushouge.commons.pojo.vo.PageData;
import org.springframework.transaction.annotation.Transactional;
import pet_pavilion.yushouge.ams.pojo.dto.AdminLoginInfoDTO;
import pet_pavilion.yushouge.ams.pojo.param.AdminAddNewParam;
import pet_pavilion.yushouge.ams.pojo.param.AdminLoginInfoParam;
import pet_pavilion.yushouge.ams.pojo.param.AdminUpdateInfoParam;
import pet_pavilion.yushouge.ams.pojo.vo.AdminListVO;
import pet_pavilion.yushouge.ams.pojo.vo.AdminStandardVO;

@Transactional
public interface AdminService {

    String ENABLE_TEXT[] = {"禁用", "启用"};

    AdminLoginInfoDTO login(AdminLoginInfoParam adminLoginInfoParam, String remoteAddr, String userAgent);

    void logout(String jwt);

    void addNew(AdminAddNewParam adminAddNewParam);

    void delete(Long id);

    void setEnable(Long id);

    void setDisable(Long id);

    void updateById(Long id, AdminUpdateInfoParam adminUpdateInfoParam);

    AdminStandardVO getStandardById(Long id);

    PageData<AdminListVO> list(Integer page);

    PageData<AdminListVO> list(Integer page, Integer pageSize);
}
